//从@reduxjs/tookit核心库中导入createSlice
import {createSlice} from '@reduxjs/toolkit'
/*
    使用createSlice完成切片的创建
    createSlice该方法的参数是一个配置对象，配置对象中常见的属性
    name:命名空间，每个切片有着自己的命名空间，将命名空间携带带每个action的前缀上
    initState:用来初始化状态的
    reducers:实际上是多个reducer的配置,类似于vuex中的mutations
*/
const counterSlice=createSlice({
    name:'counterNameSpace',
    initialState:{
        count:0
    },
    reducers:{
        addition(state,action){
            state.count=state.count+action.payload
        },
        subtraction(state,action){
            state.count=state.count-action.payload
        }
    }
})
//我们将reducers中的相关方法名作为action Creator函数导出
export const {addition,subtraction}=counterSlice.actions
export default counterSlice.reducer